package com.fcant.ssmcom.mapper;

import com.fcant.ssmcom.bean.Page;
import com.fcant.ssmcom.bean.User;

import java.util.List;

/**
 * UserMapper
 *
 * encoding:UTF-8
 * @author Fcscanf
 * @date 上午 9:12 2019-08-07/0007
 */
public interface UserMapper {

    /**
     * 模糊查询用户信息
     *
     * @param user 接口调用须为必要属性赋值：rId
     * @return List<User>
     * @author Fcscanf
     * @date 下午 14:19 2019-08-08/0008
     */
    List<User> queryUserLike(User user);

    /**
     * 获取该表的总条目数
     *
     * @return int
     * @author Fcscanf
     * @date 下午 17:16 2019-08-08/0008
     */
    public int tableTotal();

    /**
     * 模糊并分页查询用户信息
     *
     * @param page 接口调用须为必要属性赋值：start、end、user.rId
     * @return List<User>
     * @author Fcscanf
     * @date 下午 14:19 2019-08-08/0008
     */
    List<User> queryUserLikePage(Page page);

    /**
     * 根据学号或者工号查询用户
     *
     * @param user 接口调用须为必要属性赋值：number
     * @return User
     * @author Fcscanf
     * @date 上午 9:20 2019-08-07/0007
     */
    User selectByNumber(User user);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ssm_user
     *
     * @mbg.generated Tue Aug 06 19:43:11 GMT+08:00 2019
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 添加新用户
     *
     * @param record 须为属性所有字段赋值
     * @return int
     * @author Fcant
     * @date 下午 17:50 2019-08-11/0011
     */
    int insert(User record);

    /**
     * 添加新用户
     *
     * @param user 部分字段可为空
     * @return int
     * @author Fcant
     * @date 下午 17:51 2019-08-11/0011
     */
    int addUser(User user);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ssm_user
     *
     * @mbg.generated Tue Aug 06 19:43:11 GMT+08:00 2019
     */
    User selectByPrimaryKey(Integer id);

    /**
     * 根据学号/工号修改用户信息
     *
     * @param user 接口调用须为必要属性赋值：number
     * @return int
     * @author Fcscanf
     * @date 下午 23:34 2019-08-07/0007
     */
    int updateByNumber(User user);

    /**
     * 根据主键更新信息-可能致其他字段为空
     *
     * @param user 接口调用须为必要属性赋值
     * @return int
     * @author Fcscanf
     * @date 下午 23:45 2019-08-07/0007
     */
    int updateByPrimaryKey(User user);
}